/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package entidade;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * @author User 14/05/2013
 */
@Entity
@NamedQueries({
	@NamedQuery(name = "limite.findByUsuario", query = "select l from Limite l where l.usuario.codigo = :usuario")
})
@SequenceGenerator(name = "PK_LIMITE", sequenceName = "GEN_LIMITE_ID")
@Table(name="limite")
public class Limite extends AbstractModelObject {
    
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "PK_LIMITE")
	@Column(name = "cd_limite")
	private Integer codigo;
	@JoinColumn(name="cd_usuario", referencedColumnName="cd_usuario")
	@ManyToOne(fetch = FetchType.LAZY)
	private Usuario usuario;
	@Temporal(TemporalType.DATE)
    private Date dtinicial;
	@Temporal(TemporalType.DATE)
    private Date dtfinal;
    private String referencia;

    public Integer getCodigo() {
		return codigo;
	}

	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}

	public Date getDtfinal() {
        return dtfinal;
    }

    public void setDtfinal(Date dtfinal) {
    	Date oldValue = this.dtfinal;
    	this.dtfinal = dtfinal;
        firePropertyChange("dtfinal", oldValue, this.dtfinal);
    }

    public Date getDtinicial() {
        return dtinicial;
    }

    public void setDtinicial(Date dtinicial) {
    	Date oldValue = this.dtinicial;
        this.dtinicial = dtinicial;
        firePropertyChange("dtinicial", oldValue, this.dtinicial);
    }

    public String getReferencia() {
        return referencia;
    }

    public void setReferencia(String referencia) {
    	String oldValue = this.referencia;
        this.referencia = referencia;
        firePropertyChange("referencia", oldValue, this.referencia);
    }

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		Usuario oldValue = this.usuario;
		this.usuario = usuario;
		firePropertyChange("usuario", oldValue, this.usuario);
	}
}
